﻿using System;
using System.IO;

namespace GameTools.Utils
{
    public static class PathHelper
    {
        /// <summary>
        /// 获取项目根目录（Assets 和 Scripts 的上级目录）
        /// </summary>
        public static string GetProjectRoot()
        {
            // AppContext.BaseDirectory 是 bin/Debug/netX 目录，向上找两级
            return Path.GetFullPath(Path.Combine(AppContext.BaseDirectory, "..", "..", ".."));
        }

        /// <summary>
        /// 获取脚本路径（相对 Scripts/Python/ 下的 .py 文件）
        /// </summary>
        public static string GetPythonScriptPath(string scriptName,string projectName)
        {
            var root = GetProjectRoot();
            return Path.Combine(root, "Assets","Scripts", "Python", projectName, scriptName);
        }

        /// <summary>
        /// 获取配置输出目录（Assets/Config）
        /// </summary>
        public static string GetConfigOutputPath(string fileName)
        {
            var root = GetProjectRoot();
            return Path.Combine(root, "Assets", "Config", fileName);
        }

        /// <summary>
        /// 安全地为参数加双引号（避免路径中有空格）
        /// </summary>
        public static string WrapArg(string arg)
        {
            return $"\"{arg}\"";
        }
    }
}
